<?php

require_once ('BddManager.php');
require_once ('Comment.php');
require_once ('Recipe.php');

use BddManager;
use Recipe;
use Comment;

/**
 * Un cookbook
 * @author louis
 *
 */
class Cookbook {

	private $cookBookID;
	private $titre;
	private $categorie;
	private $contenu;
	private $password;
	private $date;
	
	private $bddManager;
	

	/**
	 * Crée un cookbook
	 * @param unknown_type $id id du Cookbook
	 */
	public function __construct($id){
		$this->cookBookID = $id;
		$this->bddManager = BddManager::getInstance();
	}
	
	/**
	 * Remplit pour un cookbooks ses champs
	 * @param unknown_type $titre
	 * @param unknown_type $categorie
	 * @param unknown_type $contenu
	 * @param unknown_type $password
	 * @param unknown_type $date
	 */
	public function fillInformation($titre,$categorie,$contenu,$password,$date){
		$this->titre = $titre;
		$this->categorie = $categorie;
		$this->contenu = $contenu;
		$this->password = $password;
		$this->date = $date;
	}
	
	/**
	 * Affiche les commentaires correspondant au cookbook
	 */
	public function printComment(){
		$req = $this->bddManager->getComment($this->cookBookID);

		//TODO METTRE LES ID ICI,POUR SUPPRESSION, VOIR INTEGRATION
		while($row = $req->fetch()) {
			echo ($row['Contenu'].'**<br/>');
		}

		//libere connection au serveur, d'autres requetes peuvent être effectuees
		$req->closeCursor();

	}
	
	/**
	 * Ajoute un commentaire au Cookbook
	 * @param Comment $comment
	 */
	public function addComment(Comment $comment){
		$this->bddManager->addComment($this->cookBookID,$comment);
	}
	
	/**
	 * Supprime un commentaire, pour un cookbook
	 * @param Comment $comment
	 * @param unknown_type $psswd
	 */
	public function deleteComment(Comment $comment,$psswd){
		//TODO IF THE PSSWD ISN T OK
		//test if the the psswd is the good one
		if (strcmp($psswd, $comment->getPsswd()) == 0){
			$this->bddManager->delComment($this->cookBookID,$comment);
		}else{
			echo 'Wrong password';
		}
	}
	
	/**
	 * Pour un cookbook, retourne la recette
	 * @param unknown_type $numeroRecette numero de la recette choisie
	 */
	public function getRecette($numeroRecette){
		$recette = $this->bddManager->getRecipe($this->cookBookID,$numeroRecette);
		
		return $recette;
	} 
	
	public function getContenu(){
		return $this->contenu;
	}
	public function getID(){
		return $this->cookBookID;
	}
	public function getTitre(){
		return $this->titre;
	}
	public function getCategorie(){
		return $this->categorie;
	}
}
?>
